Rakenteinen ohjelmointi

Wikipediasta
Siirry navigaatioon Siirry hakuun
Ohjelmointiparadigmat
Deklaratiivinen ohjelmointi
Epärakenteellinen ohjelmointi
Funktionaalinen ohjelmointi
Geneerinen ohjelmointi
Imperatiivinen ohjelmointi
Logiikkapohjainen ohjelmointi
Olio-ohjelmointi
Proseduraalinen ohjelmointi
Rakenteinen ohjelmointi
Reaktiivinen ohjelmointi
Rinnakkaisohjelmointi

Rakenteinen ohjelmointi (engl. structured programming) on ohjelmointiparadigma, joka pyrkii parantamaan tietokoneohjelmien koodin selkeyttä ja vähentämään ohjelmointiin kuluvaa aikaa käyttämällä loogisia kontrolli- ja toistorakenteita – kuten aliohjelmia ja silmukoita – yksinkertaisten ehtolauseiden ja GOTO-käskyjen sijaan. Näin voidaan välttää ”spagettikoodin” syntyminen. Rakenteista ohjelmointia voidaan tehdä millä tahansa ohjelmointikielellä, kuten proseduraalisen ohjelmoinnin kielellä, jos siinä on riittävät kontrollirakenteet tätä varten.

Strukturoitu ohjelmointimenetelmä pyrkii lisäämään ohjelmien luotettavuutta ja selkeyttä.[1] Strukturoidussa ohjelmoinnissa ohjelman kontrolli on rajoitettu kolmeen rakenteeseen: peräkkäisten lauseiden muodostamaan sekvenssiin, IF ... THEN ... ELSE ja DO ... WHILE -rakenteisiin tai kolmen perusrakenteen yhdistelmiin.[1] Tavoitteena on korkean modulaarisuuden ohjelma, jonka eri osat ovat hyvin riippumattomia toisistaan.[1] Strukturoitu ohjelmointi voi olla vähemmän tehokasta kuin strukturoimaton ohjelmointi.[1] Suuri osa struktoroidusta ohjelmoinnista voidaan jäljittää Edsger Dijkstran työhön.[1]

ALGOL 60 -kieli esitteli lohkorakenteet, joihin sisältyy muuttujien näkyvyysalue (scope) ja kontrollirakenteiden vaikutusalue. ALGOLissa oli myös sisäkkäiset if-then-else-lauseet ja rekursio.[2][3] ALGOLin seuraaja Pascal on esimerkki rakenteista ohjelmointia tukevasta kielestä ja FORTRANiin saatavalla esikääntäjällä sitä voidaan käyttää strukturoidulla tavalla.[1]

Strukturoidussa ohjelmoinnissa pyritään parantamaan koodin selkeyttä ja vähentämään kehittämiseen kuluvaa aikaa käyttämällä loogisia rakenteita - kuten aliohjelmia ja silmukoita - yksinkertaisten ehtolauseiden ja GOTO-rakenteen sijaan. Näin voidaan välttää "spagettikoodin" syntyminen.

Olio-ohjelmointi voidaan käsittää strukturoidun ohjelmoinnin lajikkeeksi, joka ratkaisee sekä data-orientoituneen että toiminto-orientoituneen suunnittelun.[4]

Strukturoidun ohjelmoinnin malliselvennä